//
//  NetworrkingHandler.m
//  UI29_Block
//
//  Created by dllo on 16/1/21.
//  Copyright © 2016年 lanou.com. All rights reserved.
//

#import "NetworrkingHandler.h"

@interface NetworrkingHandler ()

@end

@implementation NetworrkingHandler


+ (void)netWorkingWithURL:(NSString *)string completeHandle:(void (^)(NSData * _Nullable data, NSURLResponse * _Nullable response,id ))block {

    // 字符串转码.
    NSString *codeStr = [string stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
    
    NSURL *url = [NSURL URLWithString:codeStr];
    
    // session.
    NSURLSession *session = [NSURLSession sharedSession];
    
    NSURLSessionDataTask *dataTask = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
        
        // 回到主线程(GCD).
        dispatch_async(dispatch_get_main_queue(), ^{
           
            // 数据解析.
            if (data) {
                
            id result = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
                
                // 调用block.
                block(data,response, result);
            }
        });
    }];

    [dataTask resume];
    
}


@end
